export const ILogType = {
  success: 'success',
  info: 'info',
  warn: 'warn',
  error: 'error'
}

export const ICOREBuildInEvent = {
  UPLOAD_PROGRESS: 'uploadProgress',
  FAILED: 'failed',
  BEFORE_TRANSFORM: 'beforeTransform',
  BEFORE_UPLOAD: 'beforeUpload',
  AFTER_UPLOAD: 'afterUpload',
  FINISHED: 'finished',
  INSTALL: 'install',
  UNINSTALL: 'uninstall',
  UPDATE: 'update',
  NOTIFICATION: 'notification',
  REMOVE: 'remove'
}

export const IPicGoHelperType = {
  afterUploadPlugins: 'afterUploadPlugins',
  beforeTransformPlugins: 'beforeTransformPlugins',
  beforeUploadPlugins: 'beforeUploadPlugins',
  uploader: 'uploader',
  transformer: 'transformer'
}

export const IPasteStyle = {
  MARKDOWN: 'markdown',
  HTML: 'HTML',
  URL: 'URL',
  UBB: 'UBB',
  CUSTOM: 'Custom'
}

export const IWindowList = {
  SETTING_WINDOW: 'SETTING_WINDOW',
  TRAY_WINDOW: 'TRAY_WINDOW',
  MINI_WINDOW: 'MINI_WINDOW',
  RENAME_WINDOW: 'RENAME_WINDOW',
  TOOLBOX_WINDOW: 'TOOLBOX_WINDOW'
}

export const IRemoteNoticeActionType = {
  OPEN_URL: 'OPEN_URL',
  SHOW_NOTICE: 'SHOW_NOTICE', // notification
  SHOW_DIALOG: 'SHOW_DIALOG', // dialog notice
  COMMON: 'COMMON',
  VOID: 'VOID', // do nothing
  SHOW_MESSAGE_BOX: 'SHOW_MESSAGE_BOX'
}

export const IRemoteNoticeTriggerHook = {
  APP_START: 'APP_START',
  SETTING_WINDOW_OPEN: 'SETTING_WINDOW_OPEN'
}

export const IRemoteNoticeTriggerCount = {
  ONCE: 'ONCE', // default
  ALWAYS: 'ALWAYS'
}

export const IRPCType = {
  INVOKE: 'INVOKE',
  SEND: 'SEND'
}

export const IRPCActionType = {
  // system rpc
  RELOAD_APP: 'RELOAD_APP',
  OPEN_URL: 'OPEN_URL',
  OPEN_FILE: 'OPEN_FILE',
  HIDE_DOCK: 'HIDE_DOCK',
  SET_CURRENT_LANGUAGE: 'SET_CURRENT_LANGUAGE',
  OPEN_WINDOW: 'OPEN_WINDOW',
  OPEN_MINI_WINDOW: 'OPEN_MINI_WINDOW',
  CLOSE_WINDOW: 'CLOSE_WINDOW',
  MINIMIZE_WINDOW: 'MINIMIZE_WINDOW',
  SHOW_MINI_PAGE_MENU: 'SHOW_MINI_PAGE_MENU',
  SHOW_MAIN_PAGE_MENU: 'SHOW_MAIN_PAGE_MENU',
  SHOW_UPLOAD_PAGE_MENU: 'SHOW_UPLOAD_PAGE_MENU',
  SHOW_SECOND_UPLOADER_MENU: 'SHOW_SECOND_UPLOADER_MENU',
  SHOW_PLUGIN_PAGE_MENU: 'SHOW_PLUGIN_PAGE_MENU',
  SET_MINI_WINDOW_POS: 'SET_MINI_WINDOW_POS',
  MINI_WINDOW_ON_TOP: 'MINI_WINDOW_ON_TOP',
  MAIN_WINDOW_ON_TOP: 'MAIN_WINDOW_ON_TOP',
  UPDATE_MINI_WINDOW_ICON: 'UPDATE_MINI_WINDOW_ICON',
  REFRESH_SETTING_WINDOW: 'REFRESH_SETTING_WINDOW',
  // picbed RPC
  PICBED_GET_PICBED_CONFIG: 'PICBED_GET_PICBED_CONFIG',
  PICBED_GET_CONFIG_LIST: 'PICBED_GET_CONFIG_LIST',
  PICBED_DELETE_CONFIG: 'PICBED_DELETE_CONFIG',
  UPLOADER_CHANGE_CURRENT: 'UPLOADER_CHANGE_CURRENT',
  UPLOADER_SELECT: 'UPLOADER_SELECT',
  UPLOADER_UPDATE_CONFIG: 'UPLOADER_UPDATE_CONFIG',
  UPLOADER_RESET_CONFIG: 'UPLOADER_RESET_CONFIG',
  DELETE_ALL_API: 'DELETE_ALL_API',

  // toolbox rpc
  TOOLBOX_CHECK: 'TOOLBOX_CHECK',
  TOOLBOX_CHECK_RES: 'TOOLBOX_CHECK_RES',
  TOOLBOX_CHECK_FIX: 'TOOLBOX_CHECK_FIX',

  // main app setting rpc
  PICLIST_GET_CONFIG: 'PICLIST_GET_CONFIG',
  PICLIST_GET_CONFIG_SYNC: 'PICLIST_GET_CONFIG_SYNC',
  PICLIST_SAVE_CONFIG: 'PICLIST_SAVE_CONFIG',
  PICLIST_OPEN_FILE: 'PICLIST_OPEN_FILE',
  PICLIST_OPEN_DIRECTORY: 'PICLIST_OPEN_DIRECTORY',
  PICLIST_AUTO_START: 'PICLIST_AUTO_START',
  PICLIST_AUTO_START_STATUS: 'PICLIST_AUTO_START_STATUS',

  // shortkey setting rpc
  SHORTKEY_UPDATE: 'SHORTKEY_UPDATE',
  SHORTKEY_BIND_OR_UNBIND: 'SHORTKEY_BIND_OR_UNBIND',
  SHORTKEY_TOGGLE_SHORTKEY_MODIFIED_MODE: 'SHORTKEY_TOGGLE_SHORTKEY_MODIFIED_MODE',

  // configuration setting rpc
  CONFIGURE_MIGRATE_FROM_PICGO: 'CONFIGURE_MIGRATE_FROM_PICGO',
  CONFIGURE_UPLOAD_COMMON_CONFIG: 'CONFIGURE_UPLOAD_COMMON_CONFIG',
  CONFIGURE_UPLOAD_MANAGE_CONFIG: 'CONFIGURE_UPLOAD_MANAGE_CONFIG',
  CONFIGURE_UPLOAD_ALL_CONFIG: 'CONFIGURE_UPLOAD_ALL_CONFIG',
  CONFIGURE_DOWNLOAD_COMMON_CONFIG: 'CONFIGURE_DOWNLOAD_COMMON_CONFIG',
  CONFIGURE_DOWNLOAD_MANAGE_CONFIG: 'CONFIGURE_DOWNLOAD_MANAGE_CONFIG',
  CONFIGURE_DOWNLOAD_ALL_CONFIG: 'CONFIGURE_DOWNLOAD_ALL_CONFIG',

  // advanced setting rpc
  ADVANCED_UPDATE_SERVER: 'ADVANCED_UPDATE_SERVER',
  ADVANCED_STOP_WEB_SERVER: 'ADVANCED_STOP_WEB_SERVER',
  ADVANCED_RESTART_WEB_SERVER: 'ADVANCED_RESTART_WEB_SERVER',

  // upload and main page rpc
  MAIN_GET_PICBED: 'MAIN_GET_PICBED',
  UPLOAD_CLIPBOARD_FILES_FROM_UPLOAD_PAGE: 'UPLOAD_CLIPBOARD_FILES_FROM_UPLOAD_PAGE',
  UPLOAD_CHOOSED_FILES: 'UPLOAD_CHOOSED_FILES',

  // gallery rpc
  GALLERY_PASTE_TEXT: 'GALLERY_PASTE_TEXT',
  GALLERY_REMOVE_FILES: 'GALLERY_REMOVE_FILES',
  GALLERY_GET_DB: 'GALLERY_GET_DB',
  GALLERY_GET_BY_ID_DB: 'GALLERY_GET_BY_ID_DB',
  GALLERY_UPDATE_BY_ID_DB: 'GALLERY_UPDATE_BY_ID_DB',
  GALLERY_REMOVE_BY_ID_DB: 'GALLERY_REMOVE_BY_ID_DB',
  GALLERY_INSERT_DB: 'GALLERY_INSERT_DB',
  GALLERY_INSERT_DB_BATCH: 'GALLERY_INSERT_DB_BATCH',
  // plugin rpc
  PLUGIN_GET_LIST: 'PLUGIN_GET_LIST',
  PLUGIN_INSTALL: 'PLUGIN_INSTALL',
  PLUGIN_IMPORT_LOCAL: 'PLUGIN_IMPORT_LOCAL',
  PLUGIN_UPDATE_ALL: 'PLUGIN_UPDATE_ALL',

  // tray rpc
  TRAY_SET_TOOL_TIP: 'TRAY_SET_TOOL_TIP',
  TRAY_GET_SHORT_URL: 'TRAY_GET_SHORT_URL',
  TRAY_UPLOAD_CLIPBOARD_FILES: 'TRAY_UPLOAD_CLIPBOARD_FILES',

  // manage rpc
  MANAGE_GET_CONFIG: 'MANAGE_GET_CONFIG',
  MANAGE_SAVE_CONFIG: 'MANAGE_SAVE_CONFIG',
  MANAGE_REMOVE_CONFIG: 'MANAGE_REMOVE_CONFIG',
  MANAGE_GET_BUCKET_LIST: 'MANAGE_GET_BUCKET_LIST',
  MANAGE_GET_BUCKET_LIST_BACKSTAGE: 'MANAGE_GET_BUCKET_LIST_BACKSTAGE',
  MANAGE_GET_BUCKET_LIST_RECURSIVELY: 'MANAGE_GET_BUCKET_LIST_RECURSIVELY',
  MANAGE_CREATE_BUCKET: 'MANAGE_CREATE_BUCKET',
  MANAGE_GET_BUCKET_FILE_LIST: 'MANAGE_GET_BUCKET_FILE_LIST',
  MANAGE_GET_BUCKET_DOMAIN: 'MANAGE_GET_BUCKET_DOMAIN',
  MANAGE_SET_BUCKET_ACL_POLICY: 'MANAGE_SET_BUCKET_ACL_POLICY',
  MANAGE_RENAME_BUCKET_FILE: 'MANAGE_RENAME_BUCKET_FILE',
  MANAGE_DELETE_BUCKET_FILE: 'MANAGE_DELETE_BUCKET_FILE',
  MANAGE_DELETE_BUCKET_FOLDER: 'MANAGE_DELETE_BUCKET_FOLDER',
  MANAGE_GET_PRE_SIGNED_URL: 'MANAGE_GET_PRE_SIGNED_URL',
  MANAGE_UPLOAD_BUCKET_FILE: 'MANAGE_UPLOAD_BUCKET_FILE',
  MANAGE_DOWNLOAD_BUCKET_FILE: 'MANAGE_DOWNLOAD_BUCKET_FILE',
  MANAGE_CREATE_BUCKET_FOLDER: 'MANAGE_CREATE_BUCKET_FOLDER',
  MANAGE_OPEN_FILE_SELECT_DIALOG: 'MANAGE_OPEN_FILE_SELECT_DIALOG',
  MANAGE_GET_UPLOAD_TASK_LIST: 'MANAGE_GET_UPLOAD_TASK_LIST',
  MANAGE_GET_DOWNLOAD_TASK_LIST: 'MANAGE_GET_DOWNLOAD_TASK_LIST',
  MANAGE_DELETE_UPLOADED_TASK: 'MANAGE_DELETE_UPLOADED_TASK',
  MANAGE_DELETE_ALL_UPLOADED_TASK: 'MANAGE_DELETE_ALL_UPLOADED_TASK',
  MANAGE_DELETE_DOWNLOADED_TASK: 'MANAGE_DELETE_DOWNLOADED_TASK',
  MANAGE_DELETE_ALL_DOWNLOADED_TASK: 'MANAGE_DELETE_ALL_DOWNLOADED_TASK',
  MANAGE_SELECT_DOWNLOAD_FOLDER: 'MANAGE_SELECT_DOWNLOAD_FOLDER',
  MANAGE_GET_DEFAULT_DOWNLOAD_FOLDER: 'MANAGE_GET_DEFAULT_DOWNLOAD_FOLDER',
  MANAGE_OPEN_DOWNLOADED_FOLDER: 'MANAGE_OPEN_DOWNLOADED_FOLDER',
  MANAGE_OPEN_LOCAL_FILE: 'MANAGE_OPEN_LOCAL_FILE',
  MANAGE_DOWNLOAD_FILE_FROM_URL: 'MANAGE_DOWNLOAD_FILE_FROM_URL',
  MANAGE_CONVERT_PATH_TO_BASE64: 'MANAGE_CONVERT_PATH_TO_BASE64'
}

export const IToolboxItemType = {
  IS_CONFIG_FILE_BROKEN: 'IS_CONFIG_FILE_BROKEN',
  IS_GALLERY_FILE_BROKEN: 'IS_GALLERY_FILE_BROKEN',
  HAS_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD: 'HAS_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD',
  HAS_PROBLEM_WITH_PROXY: 'HAS_PROBLEM_WITH_PROXY'
}

export const IToolboxItemCheckStatus = {
  INIT: 'init',
  LOADING: 'loading',
  SUCCESS: 'success',
  ERROR: 'error'
}

export const ISartMode = {
  QUIET: 'quiet',
  MINI: 'mini',
  MAIN: 'main',
  NO_TRAY: 'no-tray'
}

export const II18nLanguage = {
  ZH_CN: 'zh-CN',
  ZH_TW: 'zh-TW',
  EN: 'en'
}

export const IShortUrlServer = {
  C1N: 'c1n',
  YOURLS: 'yourls',
  CFWORKER: 'cf_worker',
  SINK: 'sink'
}

export const commonTaskStatus = {
  queuing: 'queuing',
  failed: 'failed',
  canceled: 'canceled',
  paused: 'paused'
}

// manage task status

export const uploadTaskSpecialStatus = {
  uploading: 'uploading',
  uploaded: 'uploaded'
}

export const downloadTaskSpecialStatus = {
  downloading: 'downloading',
  downloaded: 'downloaded'
}
